#include "lagrangeinterpolator.h"
#include <QDebug>

LagrangeInterpolator::LagrangeInterpolator()
{
}


double LagrangeInterpolator::estimateValue(QList<double> abscissas, QList<double> ordinates, double x){

    double estimateValue = 0;
    double l;

    for(int i =0; i < abscissas.size(); i++){

        l = 1;

        for(int j = 0; j< abscissas.size(); j++){

            if(i !=j){
                 l = l * ((x - abscissas.at(j))/(abscissas.at(i) - abscissas.at(j)));

            }


        }

       // qDebug()<< "l "<< l;
       // qDebug()<< "func(x) "<<ordinates.at(i) ;
        estimateValue = estimateValue + ordinates.at(i) * l;
    }

    return estimateValue;
}
